Multimedia devices are useful for presenting non-interactive content to end-users in a variety of forms, such as text, audio, animation, and video. For example, television viewers watch television broadcasts, which consist of a combination of audio and video signals. To control the functionality of their television sets, the viewers traditionally use their external remote control devices to manipulate the power, volume, display color, and non-interactive content. The television set, however, is an example of a multimedia device that traditionally does not support two-way interactive communications between its end-user viewer and other systems or devices.
To bring interactive communications to such multimedia devices, industry has devised various proprietary server-client architecture solutions. One example solution is the set-top box. In general, a set-top box is electronic equipment that receives a television broadcast over a network (e.g., a cable network) and, from the television signals, produces audio and video output for the television set. The set-top box also brings interactive capabilities to the television set; that is, the television viewer is able to key in certain input, using, for example, a remote control device, that prompts the set-top box to communicate with a system or device on the network.
Traditionally, however, cable operators employed proprietary software in their set-top boxes, referred to as middleware, to perform the interactive communication between the network service and the multimedia device. This proprietary middleware is as a layer of software that executes on top of the operating system running on the set-top box. Interactive applications running on the set-top box were similarly proprietary in that they interfaced specifically with the proprietary middleware.
The proprietary nature of the set-top box presented various problems that slowed innovation in the industry. As an example, interactive applications written for one vendor could not be reused in set-top boxes of other vendors. Interactive applications thus required reinventing and redeveloping for each given set-top box vendor. The process of adding new communication applications to the cable industry hence became particularly cumbersome.
To provide an alternative to proprietary middleware, and thus to encourage innovation, members of the cable television industry developed the OpenCable Platform specification, also known as the OpenCable Application Platform or OCAP. The OpenCable Platform specification defines a standardized (i.e., open) Java-based middleware software layer. Using this open middleware, application developers are able to produce interactive services and applications that can run on a variety of digital set-top boxes and cable-ready devices. This interoperability enables manufacturers to build and sell retail digital devices that are capable of supporting all cable services currently being delivered to leased set-top boxes, and future cable services offered by the cable operator, without the need of a set-top box.